home *** CD-ROM | disk | FTP | other *** search
/ Aminet 52 / Aminet 52 (2002)(GTI - Schatztruhe)[!][Dec 2002].iso / Aminet / dev / gg / ncurses-5.3.lha / ncurses-5.3 / Makefile.glibc < prev    next >
Makefile  |  2002-10-24  |  9KB  |  406 lines

  1. # Copyright (C) 1997,1998 Free Software Foundation, Inc.
  2. # This file is part of the GNU C Library.
  3.  
  4. # The GNU C Library is free software; you can redistribute it and/or
  5. # modify it under the terms of the GNU Library General Public License as
  6. # published by the Free Software Foundation; either version 2 of the
  7. # License, or (at your option) any later version.
  8.  
  9. # The GNU C Library is distributed in the hope that it will be useful,
  10. # but WITHOUT ANY WARRANTY; without even the implied warranty of
  11. # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
  12. # Library General Public License for more details.
  13.  
  14. # You should have received a copy of the GNU Library General Public
  15. # License along with the GNU C Library; see the file COPYING.LIB.  If not,
  16. # write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
  17. # Boston, MA 02111-1307, USA.
  18.  
  19. #
  20. #    Makefile for ncurses part.
  21. #
  22. subdir    := ncurses
  23.  
  24. ncurses-version    = 4.2
  25. form-version    = $(ncurses-version)
  26. menu-version    = $(ncurses-version)
  27. panel-version    = $(ncurses-version)
  28.  
  29. extras            := form menu ncurses panel
  30.  
  31. extra-libs        = $(extras:%=lib%)
  32. # These libraries will be built in the `others' pass rather than
  33. # the `lib' pass, because they depend on libc.so being built already.
  34. extra-libs-others    = $(extra-libs)
  35.  
  36. # The sources are found in the appropriate subdir.
  37. subdir-dirs = $(extras) progs test
  38. vpath %.c $(subdir-dirs)
  39. vpath %.h $(subdir-dirs)
  40.  
  41. libform-routines    = \
  42.             fld_arg \
  43.             fld_attr \
  44.             fld_current \
  45.             fld_def \
  46.             fld_dup \
  47.             fld_ftchoice \
  48.             fld_ftlink \
  49.             fld_info \
  50.             fld_just \
  51.             fld_link \
  52.             fld_max \
  53.             fld_move \
  54.             fld_newftyp \
  55.             fld_opts \
  56.             fld_pad \
  57.             fld_page \
  58.             fld_stat \
  59.             fld_type \
  60.             fld_user \
  61.             frm_cursor \
  62.             frm_data \
  63.             frm_def \
  64.             frm_driver \
  65.             frm_hook \
  66.             frm_opts \
  67.             frm_page \
  68.             frm_post \
  69.             frm_req_name \
  70.             frm_scale \
  71.             frm_sub \
  72.             frm_user \
  73.             frm_win \
  74.             fty_alnum \
  75.             fty_alpha \
  76.             fty_enum \
  77.             fty_int \
  78.             fty_ipv4 \
  79.             fty_num \
  80.             fty_regex
  81.  
  82. libncurses-routines    = \
  83.             base/define_key \
  84.             base/keybound \
  85.             base/keyok \
  86.             base/lib_addch \
  87.             base/lib_addstr \
  88.             base/lib_beep \
  89.             base/lib_bkgd \
  90.             base/lib_box \
  91.             base/lib_chgat \
  92.             base/lib_clear \
  93.             base/lib_clearok \
  94.             base/lib_clrbot \
  95.             base/lib_clreol \
  96.             base/lib_color \
  97.             base/lib_colorset \
  98.             base/lib_delch \
  99.             base/lib_delwin \
  100.             base/lib_dft_fgbg \
  101.             base/lib_echo \
  102.             base/lib_endwin \
  103.             base/lib_erase \
  104.             base/lib_flash \
  105.             base/lib_freeall \
  106.             base/lib_getch \
  107.             base/lib_getstr \
  108.             base/lib_hline \
  109.             base/lib_immedok \
  110.             base/lib_inchstr \
  111.             base/lib_initscr \
  112.             base/lib_insch \
  113.             base/lib_insdel \
  114.             base/lib_insstr \
  115.             base/lib_instr \
  116.             base/lib_isendwin \
  117.             base/lib_leaveok \
  118.             base/lib_mouse \
  119.             base/lib_move \
  120.             base/lib_mvwin \
  121.             base/lib_newterm \
  122.             base/lib_newwin \
  123.             base/lib_nl \
  124.             base/lib_overlay \
  125.             base/lib_pad \
  126.             base/lib_printw \
  127.             base/lib_redrawln \
  128.             base/lib_refresh \
  129.             base/lib_restart \
  130.             base/lib_scanw \
  131.             base/lib_screen \
  132.             base/lib_scroll \
  133.             base/lib_scrollok \
  134.             base/lib_scrreg \
  135.             base/lib_set_term \
  136.             base/lib_slk \
  137.             base/lib_slkatr_set \
  138.             base/lib_slkatrof \
  139.             base/lib_slkatron \
  140.             base/lib_slkatrset \
  141.             base/lib_slkattr \
  142.             base/lib_slkclear \
  143.             base/lib_slkcolor \
  144.             base/lib_slkinit \
  145.             base/lib_slklab \
  146.             base/lib_slkrefr \
  147.             base/lib_slkset \
  148.             base/lib_slktouch \
  149.             base/lib_touch \
  150.             base/lib_ungetch \
  151.             base/lib_vline \
  152.             base/lib_wattroff \
  153.             base/lib_wattron \
  154.             base/lib_winch \
  155.             base/lib_window \
  156.             base/memmove \
  157.             base/nc_panel \
  158.             base/resizeterm \
  159.             base/safe_sprintf \
  160.             base/sigaction \
  161.             base/tries \
  162.             base/version \
  163.             base/vsscanf \
  164.             base/wresize \
  165.             codes \
  166.             comp_captab \
  167.             expanded \
  168.             fallback \
  169.             lib_gen \
  170.             lib_keyname \
  171.             names \
  172.             tinfo/access \
  173.             tinfo/add_tries \
  174.             tinfo/alloc_entry \
  175.             tinfo/alloc_ttype \
  176.             tinfo/captoinfo \
  177.             tinfo/comp_error \
  178.             tinfo/comp_expand \
  179.             tinfo/comp_hash \
  180.             tinfo/comp_parse \
  181.             tinfo/comp_scan \
  182.             tinfo/doalloc \
  183.             tinfo/free_ttype \
  184.             tinfo/getenv_num \
  185.             tinfo/home_terminfo \
  186.             tinfo/init_keytry \
  187.             tinfo/lib_acs \
  188.             tinfo/lib_baudrate \
  189.             tinfo/lib_cur_term \
  190.             tinfo/lib_data \
  191.             tinfo/lib_has_cap \
  192.             tinfo/lib_kernel \
  193.             tinfo/lib_longname \
  194.             tinfo/lib_napms \
  195.             tinfo/lib_options \
  196.             tinfo/lib_print \
  197.             tinfo/lib_raw \
  198.             tinfo/lib_setup \
  199.             tinfo/lib_termcap \
  200.             tinfo/lib_termname \
  201.             tinfo/lib_tgoto \
  202.             tinfo/lib_ti \
  203.             tinfo/lib_tparm \
  204.             tinfo/lib_tputs \
  205.             tinfo/lib_ttyflags \
  206.             tinfo/name_match \
  207.             tinfo/parse_entry \
  208.             tinfo/read_entry \
  209.             tinfo/read_termcap \
  210.             tinfo/setbuf \
  211.             tinfo/strings \
  212.             tinfo/write_entry \
  213.             trace/lib_trace \
  214.             trace/lib_traceatr \
  215.             trace/lib_tracebits \
  216.             trace/lib_tracechr \
  217.             trace/lib_tracedmp \
  218.             trace/lib_tracemse \
  219.             trace/trace_buf \
  220.             trace/trace_tries \
  221.             trace/trace_xnames \
  222.             trace/varargs \
  223.             trace/visbuf \
  224.             tty/hardscroll \
  225.             tty/hashmap \
  226.             tty/lib_mvcur \
  227.             tty/lib_tstp \
  228.             tty/lib_twait \
  229.             tty/lib_vidattr \
  230.             tty/tty_update \
  231.             unctrl
  232.  
  233. libmenu-routines    = \
  234.             m_attribs \
  235.             m_cursor \
  236.             m_driver \
  237.             m_format \
  238.             m_global \
  239.             m_hook \
  240.             m_item_cur \
  241.             m_item_nam \
  242.             m_item_new \
  243.             m_item_opt \
  244.             m_item_top \
  245.             m_item_use \
  246.             m_item_val \
  247.             m_item_vis \
  248.             m_items \
  249.             m_new \
  250.             m_opts \
  251.             m_pad \
  252.             m_pattern \
  253.             m_post \
  254.             m_req_name \
  255.             m_scale \
  256.             m_spacing \
  257.             m_sub \
  258.             m_userptr \
  259.             m_win
  260.  
  261. libpanel-routines    = \
  262.             panel \
  263.             p_above \
  264.             p_below \
  265.             p_bottom \
  266.             p_delete \
  267.             p_hide \
  268.             p_hidden \
  269.             p_move \
  270.             p_new \
  271.             p_replace \
  272.             p_show \
  273.             p_top \
  274.             p_update \
  275.             p_user \
  276.             p_win
  277.  
  278. headers = curses.h eti.h form.h menu.h panel.h term.h termcap.h \
  279.       unctrl.h
  280. others = clear infocmp tic toe tput tset
  281. install-bin = $(others)
  282.  
  283. clear-objs = clear.o
  284. infocmp-objs = infocmp.o dump_entry.o
  285. tic-objs = tic.o dump_entry.o
  286. toe-objs = toe.o dump_entry.o
  287. tput-objs = tput.o
  288. tset-objs = tset.o dump_entry.o
  289. extra-objs = $(tic-objs) $(toe-objs) $(infocmp-objs) $(clear-objs) \
  290.         $(tput-objs) $(tset-objs)
  291.  
  292. test-srcs = blue bs cardfile ditto firework firstlast gdc hanoi hashtest knight \
  293.         lrtest ncurses newdemo rain tclock testaddch testcurs \
  294.         testscanw view worm xmas
  295.  
  296. include ../Rules
  297.  
  298. ifndef tabsetdir
  299. tabsetdir        = $(datadir)/tabset
  300. endif
  301. ifndef inst_tabsetdir
  302. inst_tabsetdir    = $(install_root)/$(tabsetdir)
  303. endif
  304.  
  305. ifndef terminfodir
  306. terminfodir        = $(datadir)/terminfo
  307. endif
  308. ifndef inst_terminfodir
  309. inst_terminfodir    = $(install_root)/$(terminfodir)
  310. endif
  311.  
  312. ifndef mandir
  313. mandir            = $(prefix)/man
  314. endif
  315.  
  316. ifndef inst_mandir
  317. inst_mandir        = $(install_root)/$(mandir)
  318. endif
  319.  
  320. CPPFLAGS += -DTERMINFO='"$(terminfodir)"' -Iinclude -Iform -Incurses \
  321.     -Imenu -Ipanel -Iprogs -Itest
  322.  
  323. ifneq ($(strip $(objpfx)),)
  324. CPPFLAGS += -I$(objpfx)
  325. endif
  326.  
  327. LDLIBS-tclock = math/libm
  328.  
  329. tests: $(test-srcs:%=$(objpfx)%)
  330.  
  331. $(objpfx)clear: $(addprefix $(objpfx),$(clear-objs))
  332. $(objpfx)infocmp: $(addprefix $(objpfx),$(infocmp-objs))
  333. $(objpfx)tic: $(addprefix $(objpfx),$(tic-objs))
  334. $(objpfx)toe: $(addprefix $(objpfx),$(toe-objs))
  335. $(objpfx)tput: $(addprefix $(objpfx),$(tput-objs))
  336. $(objpfx)tset: $(addprefix $(objpfx),$(tset-objs))
  337.  
  338. ifeq ($(build-shared),yes)
  339. $(others:%=$(objpfx)%): $(objpfx)libncurses.so
  340. else
  341. $(others:%=$(objpfx)%): $(objpfx)libncurses.a
  342. endif
  343.  
  344. $(test-srcs:%=$(objpfx)%): $(objpfx)libform.a $(objpfx)libmenu.a \
  345.     $(objpfx)libpanel.a $(objpfx)libncurses.a
  346.  
  347. # Depend on libc.so so a DT_NEEDED is generated in the shared objects.
  348. # This ensures they will load libc.so for needed symbols if loaded by
  349. # a statically-linked program that hasn't already loaded it.
  350. $(extras:%=$(objpfx)lib%.so): $(common-objpfx)libc.so
  351.  
  352. subdir_install: $(inst_libdir)/libtermcap.a $(inst_libdir)/libcurses.a \
  353.     $(inst_bindir)/reset $(inst_bindir)/captoinfo
  354.  
  355. $(inst_libdir)/libtermcap.a $(inst_libdir)/libcurses.a: \
  356.         $(inst_libdir)/libncurses.a
  357.     $(make-link)
  358.  
  359. $(inst_bindir)/reset: $(inst_bindir)/tset
  360.     $(make-link)
  361.  
  362. $(inst_bindir)/captoinfo: $(inst_bindir)/tic
  363.     $(make-link)
  364.  
  365. ifeq (yes,$(build-shared))
  366. subdir_install: $(inst_libdir)/libtermcap.so  $(inst_libdir)/libcurses.so
  367.  
  368. $(inst_libdir)/libtermcap.so $(inst_libdir)/libcurses.so: \
  369.         $(inst_libdir)/libncurses.so
  370.     $(make-link)
  371. endif
  372.  
  373. subdir_install: $(inst_mandir)/man5/terminfo.5
  374.  
  375. $(inst_mandir)/man5/terminfo.5: $(objpfx)terminfo.5 $(wildcard man/*.[0-9]*)
  376.     $(make-target-directory)
  377.     sh $(edit_man-sh) $(prefix) $(inst_mandir) $(edit_man-sed) $^
  378.  
  379. subdir_install: $(inst_tabsetdir)/std
  380.  
  381. $(inst_tabsetdir)/std: \
  382.     $(filter-out misc/tabset/CVS, $(wildcard misc/tabset/*))
  383.     $(make-target-directory)
  384.     for f in $^; do \
  385.       echo installing $$f; \
  386.       $(INSTALL_DATA) $$f $(inst_tabsetdir); \
  387.     done
  388.  
  389.  
  390. ifeq (no,$(cross-compiling))
  391. subdir_install: $(inst_terminfodir)/v/vt100
  392.  
  393. $(inst_terminfodir)/v/vt100: misc/terminfo.src $(objpfx)tic
  394.     $(make-target-directory)
  395.     sh $(run_tic-sh) $(common-objpfx) misc $(terminfodir) \
  396.         $(install_root)
  397. endif
  398.  
  399. subdir_distclean subdir_realclean:
  400.     -rm -f $(addprefix $(objpfx), MKterm.h.awk codes.c \
  401.         comp_captab.c confdefs.h config.log curses.h \
  402.         expanded.c fallback.c hashsize.h keys.tries \
  403.         lib_gen.c lib_keyname.c names.c ncurses_cfg.h \
  404.         nomacros.h parametrized.h term.h termcap.h \
  405.         terminfo.5 termsort.c unctrl.c unctrl.h)
  406.